package sessions;

import java.util.List;

import javax.ejb.Local;

import entities.Admin;
import entities.Skill;
import entities.SkillRequest;
import entities.User;
import exceptions.DuplicatedSkillException;
import exceptions.SkillRequestException;

@Local
public interface SkillManagerLocal {

	public void request(User fromUser, Admin toAdmin, String message)
			throws SkillRequestException;

	public List<SkillRequest> fetchIncoming(String username);

	public List<SkillRequest> fetchOutgoing(String username);

	public SkillRequest fetch(int id);

	public void accept(SkillRequest sr);

	public void refuse(SkillRequest sr);

	public void addSkill(String name) throws DuplicatedSkillException;
	
	public Skill fetchSkill(int id);
	
	public List<Skill> fetchAllSkills();

}
